#include<iostream>

#include<signal.h>

#include<stdio.h>

#include<unistd.h>

using namespace std;

void read_pending(sigset_t *gp)
{
    for(int i = 31; i > 0; --i)
    {
        if(sigismember(gp, i)) cout << 1;
        else cout << 0;
    }
    cout << endl;
}

int main()
{
    sigset_t set;
    sigfillset(&set);

    sigprocmask(SIG_SETMASK, &set, nullptr);

    int n = 1;
    while(n++)
    {
        sigset_t get_pending;
        sigpending(&get_pending);
        read_pending(&get_pending);
        cout << "PID：" << getpid() << endl << endl;
        sleep(1);
        // if(n == 20) // 封印解除
        // {
        //     sigemptyset(&set);

        //     sigprocmask(SIG_SETMASK, &set, nullptr);
        // }
    }

    return 0;
}